home *** CD-ROM | disk | FTP | other *** search
/ BBS Toolkit / BBS Toolkit.iso / rbbs_pc / 172aasm.zip / RBBSHS.ASM < prev    next >
Assembly Source File  |  1989-01-28  |  2KB  |  41 lines

  1. PAGE 66,132
  2. TITLE RBBS-PC HearSay Interface Copyright 1989 by Jon J. Martin
  3. ;--------------------------------------------------------------------;
  4. ;ROUTINE: RBBSHS              AUTHOR:  Jon J. Martin                 ;
  5. ;                                      4396 N. Prairie Willow Ct.    ;
  6. ;                                      Concord, California 94521     ;
  7. ;                                                                    ;
  8. ;DATE:  January 27, 1989      VERSION: 1.0                           ;       
  9. ;                                                                    ;
  10. ;FUNCTION: This routine supports calls from the IBM (MICROSOFT)      ;
  11. ;          BASIC Version 2.0 or Microsoft Quick BASIC Version 1.0    ;
  12. ;          compilers to the HearSay User Interface.  The call is:    ;
  13. ;                                                                    ;
  14. ;            CALL RBBSHS (A$)                                        ;
  15. ;                                                                    ;
  16. ;          where A$ is a string data item with the first byte        ;
  17. ;          containing a CHR$(x) value of the legnth of the string    ;
  18. ;          to be spoken.  (DO NOT INCLUDE THE 1 BYTE IN THE ACTUAL   ;
  19. ;          LENGTH)                                                   ;
  20. ;                                                                    ;
  21. ;--------------------------------------------------------------------;
  22. RBBSHSAY  SEGMENT BYTE PUBLIC 'CODE'
  23.           ASSUME CS:RBBSHSAY 
  24.           PUBLIC RBBSHS
  25. RBBSHS    PROC   FAR           ;LONG CALL
  26.           PUSH   BP            ;SAVE CALLERS BASE POINTER REGISTER -- BP 
  27.           MOV    BP,SP         ;SETUP TO ADDRESS OFF OF BASE POINTER REGISTER
  28.           MOV    SI,[BP]+6     ;GET ADDRESS OF STRING PARAMETER
  29.           MOV    AX,2[SI]      ;PUT VALUE IN AX REGISTER
  30.           PUSH   DS            ;DATA SEGMENT ON STACK
  31.           PUSH   AX            ;STRING POINTER ON STACK
  32.           XOR    AX,AX         ;SET AL TO 0
  33.           INT    55H           ;CALL HearSay USER INTERFACE
  34.           POP    AX            ;REMOVE PARAMETERS FROM STACK
  35.           POP    AX            ;REMOVE PARAMETERS FROM STACK
  36.           POP    BP            ;RESTORE CALLERS BASE POINTER REGISTER-- BP
  37.           RET    2             ;RETURN AND REMOVE THE PARAMETER FROM STACK
  38. RBBSHS    ENDP
  39. RBBSHSAY  ENDS
  40.           END
  41.